<?php 

$pageName = 'bmo.user';
$incPath = dirname(__FILE__);
//require_once "{$incPath}/../inc/init.php";
require "{$incPath}/../inc/init.php";
/***
 * operate:
 * 1.用户登录
 * method:User.login 
 * @param phoneNbr 电话号码 12312312 
 * @param passwd 密码 12dsafsa1
 * 
 * @return
 * {"status": 0, //0成功，1系统错误；2用户或者密码错误
 * "msg":"验证通过",
 * "rt":{
 *    "sessionId":"t20120805141936u1"//登录成功的后的用户session信息。 仅此次登录有用
 *  }
 * }
 * 
 * 2.用户注册
 * method:User.register
 * @param phoneNbr 电话号码
 * @param passwd 密码
 * @param isNeedCheck 是否需要确认
 * 
 * @return
 * {
 *  "status":0,//0成功；1,失败电话号码已经存在，2其他失败原因
 *  "msg":"成功"
 * }
 * 
 * 3.更新用户的地理位置信息
 * method:User.updateLocation 
 * @param lat 纬度
 * @param lon 经度
 * @param sessionId
 * 
 * @return
 * {
 * "status":0,//0成功，99失败
 * "msg":"更新成功"
 * }
 * 
 * 4.请求获取用户的地理位置
 * method:User.requireLoaction 
 * @param requirePhone 需要定位的用户电话号码
 * @param sessionId 
 * 
 * @return
 * {
 * "status":0,//0成功，1失败
 * "msg":"请求成功"
 * "rt":{
 *   nbr:"dsfdsafdsafdsfds"//需要进行查询的条码
 *   }
 * }
 * 
 * 5.应答是否接受请求
 * method:User.answerRequire
 * @param nbr
 * @param status 1，同意；2拒绝； 0 初始值，未知；4，过期自动失效；5，已经获取获取请求
 * 允许输入值1,2其他是系统值，请勿当参数传入；
 * 传入参数是同意（1）会生成相应的权限id
 * @param sessionId
 * 
 * @return
 * {
 * "status":0,//0更新成功；1传入status,nbr参数有误；2传入的nbr不存在；3,当前用户无法对改记录进行修改；99session失效
 * "msg":"更新成功"
 * }
 * 
 * 6.查询定位请求的状态
 * method:User.queryRequireLoctionStatus
 * @param nbr //参见method:User.requireLoaction 请求时候获得的nbr信息，记录上次请求的流程
 * @param sessionId
 * 
 * @return
 * {
 * "status":0,//1.同意；2拒绝；3,未知状态；4，未生成授权流水号（属于系统异常），当status值为1的时候，才允许获取相应的权限值privilegeNbr
 * "msg":"获取状态成功"
 * "rt":{
 * 	  privilegeNbr:"sfasdfdsfsdfsddsfsadfs"
 *  }
 * }
 * 
 * 7.查询被定位请求,其中只获取状态是0的数据，查询完成后就将其状态改成已读取
 * method:User.queryRequiredLocationInfo
 * @param sessionId
 * {
 * "status":0,//0查询成功，1查询失败比如没有登录
 * "msg":"请求成功"
 * "rt":[
 *  {
 *   "nbr":"sdfsdfsdfsdfsafsd",
 *   "phoneNbr":"15280263357",
 *   "createDt":"2012-7-10 12:11:12"
 *  },
 *  {
 *   "nbr":"sdfsdfsdfsdfsafsd",
 *   "phoneNbr":"15280263357",
 *   "createDt":"2012-7-10 12:11:12"
 *  }
 * ]
 * }
 * 
 *8.获取用户的地理位置信息
 *User.getReqiureLocation
 *@param sessionId 
 *@param privilegeNbr //参照6.查询定位请求的状态  method:User.queryRequireLoctionStatus
 *
 *@return
 *{
 *"status":0,//0请求成功,1系统异常; 2权限不足；3，用户已经退出
 *"msg":"获取用户位置成功",
 *"rt":{
 * lat:123.12312312,
 * lon:18.12312312
 *}
 *}
 */


//客户端调用的接口
$operate = null;
$result ="";
try{  
	$operate = $_REQUEST["operate"] ;
}catch(Exception $e){
	$result["status"]= "1";
	$result["error"]= e;
}

require "{$incPath}/../bmo/User.class.php";
$user = new User($daoImpl);
if($operate == "User.login"){
	//1.登录
	$phone = $_REQUEST["phoneNbr"] ;
	$passwd = $_REQUEST["passwd"] ;
	$result = $user->login($phone,$passwd); 
}else if($operate == "User.register"){
	//2.注册
	//sessionId=t20120801182336u1 
	$passwd = $_REQUEST["passwd"] ;
	$phone = $_REQUEST["phoneNbr"] ; 
	$result = $user->register($phone,$passwd); 
}else if($operate == "User.updateLocation"){
	//3.更新用户的地理位置 
	$sessionId = $_REQUEST["sessionId"] ;
	$lat = $_REQUEST["lat"];
	$lon = $_REQUEST["lon"]; 
	$result = $user->updateLocation($lon,$lat,$sessionId); 
	
}else if($operate == "User.requireLoaction"){
	//4.请求获取用户的地理位置 
	$sessionId = $_REQUEST["sessionId"] ;
	$phone = $_REQUEST["requirePhone"];  
	$result = $user->requireLoaction($phone,$sessionId);
}else if($operate == "User.answerRequire"){
	//5.应答是否接受请求 
	$sessionId = $_REQUEST["sessionId"] ;
	$status = $_REQUEST["status"]; 
	$nbr = $_REQUEST["nbr"];  
	$result = $user->answerRequire($nbr,$status,$sessionId); 
	 
}else if($operate == "User.queryRequireLoctionStatus"){
	//6.查询请求定位的流水号的状态
	$sessionId = $_REQUEST["sessionId"] ;
	$nbr = $_REQUEST["nbr"];  
	$result = $user->queryRequireLoctionStatus($nbr,$sessionId); 
	 
}else if($operate == "User.queryRequiredLocationInfo"){
	//7.查询被定位请求,其中只获取状态是0的数据，查询完成后就将其状态改成已读取
	$sessionId = $_REQUEST["sessionId"] ; 
	$result = $user->queryRequiredLocatedInfo($sessionId); 
	 
}else if($operate == "User.getReqiureLocation"){
	//8.获取用户的地理位置信息
	$sessionId = $_REQUEST["sessionId"] ; 
	$privilegeNbr = $_REQUEST["privilegeNbr"] ; 
	$result = $user->getReqiureLocation($privilegeNbr,$sessionId); 
	 
}else if($operate == "User.shareDefaultLocation"){
	//9.分享地理位置信息
	$sessionId = $_REQUEST["sessionId"] ; 
	$lat = $_REQUEST["lat"] ; 
	$lon = $_REQUEST["lon"] ; 
	$result = $user->shareDefaultLocation($lat,$lon,$sessionId); 	 
}else if($operate == "User.getDefaultShareLocation"){
	//10.获取分享的地理位置信息
	/**
	 * 返回：
	 * 0，成功
	 * 1.查询号码不存在
	 * 2.查询的用户没有分享数据
	 * 99.session失效
	 * 999.输入参数不正确
	 */
	$sessionId = $_REQUEST["sessionId"] ; 
	$phoneNbr = $_REQUEST["phoneNbr"] ; 
	$result = $user->getDefaultShareLocation($phoneNbr,$sessionId); 	 
}else { 
	$result["status"]= 999;
	$result["msg"]= "method {$operate} is unsupport!";	
}
//$result = $uploader;
// to pass data through iframe you will need to encode all html tags
echo htmlspecialchars(json_encode($result), ENT_NOQUOTES);
//echo json_encode($result);
?>